﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using BLLProcom;
using BLLProcom.Funcionalidad;
using Procom.ViewModel;
using mercadopago;
using System.Configuration;
using System.Globalization;
using System.Collections;

namespace Procom.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult VerInicio()
        {
            return PartialView("_Inicio");
        }

        public ActionResult VerQuienesSomos()
        {
            List<PC_Miembro> miembros = new BLLMiembro().TraerMiembros();
            return PartialView("_QuienesSomos", miembros);
        }

        public ActionResult VerProyectos()
        {
            ViewModelProyectos model = new ViewModelProyectos();
            model.Proyectos = new BLLProyecto().TraerProyectos();
            return PartialView("_Proyectos", model);
        }

        public ActionResult VerProyecto(int idProyecto)
        {
            ViewModelProyecto model = new ViewModelProyecto();
            model.Proyecto = new BLLProyecto().TraerProyecto(idProyecto);
            return PartialView("_VerProyecto", model);
        }

        public ActionResult VerContacto()
        {
            return PartialView("_Contacto");
        }

        public ActionResult Donar()
        {
            return PartialView("_Donar");
        }

        [HttpPost]
        public ActionResult RealizarDonacion()
        {
            int monto =  int.Parse(Request.Params["monto"]);
            string mpID = ConfigurationManager.AppSettings["MPID"];
            string mpKey = ConfigurationManager.AppSettings["MPKEY"];
            bool mpTest = ConfigurationManager.AppSettings["MPTest"].ToLower().Equals("true");

            MP mp = new MP(mpID, mpKey);
            mp.sandboxMode(mpTest);

            String preferenceData = "{\"items\":[{\"title\":\"Donacion PRO-COM\",\"quantity\":1,\"currency_id\":\"ARS\",\"unit_price\":valorPrecio}] }";
            preferenceData = preferenceData.Replace("valorPrecio", monto.ToString("N2", new CultureInfo("en-US")));

            Hashtable preference = mp.createPreference(preferenceData);
            string url = null;

            if (mpTest)
                url = ((Hashtable)preference["response"])["sandbox_init_point"].ToString();
            else
                url = ((Hashtable)preference["response"])["init_point"].ToString();

            return Redirect(url);
        }
    }
}
